/*
Copyright (C) 2008-2009  Santiago Carot Nemesio
email: scarot@libresoft.es

This program is a (FLOS) free libre and open source implementation
of a multiplatform manager device written in java according to the
ISO/IEEE 11073-20601. Manager application is designed to work in 
DalvikVM over android platform.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

*/
package es.libresoft.openhealth.utils;

public interface IFIFO<T> {
	
	void setHandler (IUnlock handler);
	
	/** Add an object to the end of the FIFO queue */
    boolean add (T obj);

    /** Remove an object from the front of the FIFO queue 
     * @return */
    T remove();

    /** Return the number of elements in the FIFO queue */
    int size();
    
    /** Delete all elements in the FIFO queue */
    void clear ();

}
